project(tpl)

add_library(_compiler_flags INTERFACE)
target_include_directories(_compiler_flags INTERFACE
  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
  $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
  $<INSTALL_INTERFACE:${_INSTALL_INCLUDE_DIR}>
  )

set(CMAKE_CXX_STANDARD 20)

enable_testing()

add_subdirectory(function)
add_subdirectory(any)

add_subdirectory(contrib)
add_subdirectory(quadrature)

add_subdirectory(utils)

add_subdirectory(galois)

find_package(VTKm)

add_subdirectory(tests)

add_executable(main main.cpp)
target_link_libraries(main
PUBLIC _compiler_flags
PUBLIC vtkm::cont
)

add_subdirectory(framework)